#ifndef __BRANCH1_MODEL_DIRECT_BASE_H__
#define __BRANCH1_MODEL_DIRECT_BASE_H__
#include "ModelConfig.h"
#include <daisy\Logic.h>
#include <daisy\EventSystem.h>

namespace DAISY
{
	
	class DirectorBase : public Director
	{
		
	public:
		DirectorBase(const std::string & name = "BLANK");
		virtual ~DirectorBase(void);
		virtual void doEnable(void);
		virtual void doDisable(void);
		virtual void doExecute(DAISY::Event * evt);
	private:
		
		DAISY::ScenePtr _scene0;
		DAISY::ActorPtr _player;
		std::map<std::string,DAISY::ScenePtr> _sceneMap;
	};
	
	class DirectorBaseFactory: public IFactory<Director>
	{
	public:

		virtual const std::string & getTypeName() const;
		virtual pointer_type createInstance(const std::string& instanceName = "BLANK", parameter_type parameter = NULL);
	};

}

#endif 

